【Security Hub修復手順】[RDS.12] IAM 認証は RDS クラスター用に設定する必要があります
こんにちは!AWS事業本部のヌヌです。
皆さん、お使いのAWS環境のセキュリティチェックはしていますか?
当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介します。
本記事の対象コントロール
[RDS.12] IAM 認証は RDS クラスター用に設定する必要があります
[RDS.12] IAM authentication should be configured for RDS clusters
前提条件
本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。
対象コントロールの説明
このコントロールは、RDSクラスターでIAM DB 認証が有効になっていることを確認します。
IAM DB 認証を有効にすると、パスワードがなくてもIAM 認証トークンを利用してDBインスタンスへアクセスできるようになります。
IAM DB 認証の有効には色々な長所と短所がありますので、開発環境によってこのコントロールを対応しなくても大丈夫です。
IAM DB 認証の利点
IAM DB 認証を使用することで、次のような利点があります。
- データベースのトラフィックはSSLで暗号化される
- データベースパスワードの紛失や漏洩など、パスワードに関する脆弱性がなくなる
- IAMを利用してDBインスタンスのアクセスを中央で管理可能
考慮すべきな部分
IAM DB 認証を使用によって、次のような部分を考慮する必要があります。
- IAM DB 認証を使用できないリージョンとエンジンバージョンがあること
- IAM DB 認証が使用できないDBとできるDB、両方を使ってる場合、使用な管理の統一化ができなくなる
- IAM管理などのため運用コストが高くなること
- DBだけではなくIAMも管理する必要ができる
- 既存はパスワードだけ注意したが、IAMに対してもセキュリティ対策が必要になる
- DBへのアクセス方法が変わるためクライアント側の実装変更も必要になること
IAM DB 認証を有効にすると、パスワードとIAM両方に対してセキュリティ対策をとる必要があります。1つだけ漏洩されてもDBへアクセスできますので、むしろセキュリティ的に悪くなる場合もあります。
そのため、開発環境や方針によって必ず対応が必要なコントロールではありません。
IAM DB 認証を使用可能なエンジンは次になります。
- RDS for MariaDB
- 使用不可なリージョン:Hyderabad、Melbourne、Spain、Zurich、UAE
- 使用不可なリージョン以外のリージョンで、バージョン10.6 以上の場合、使用可能
- RDS for MySQL
- マルチ AZ DB クラスターは使用できない
- RDS for PostgreSQL
- マルチ AZ DB クラスターは使用できない
- Aurora MySQL
- Aurora MySQL 2, 3:使用可能な全てのバージョン
- Aurora PostgreSQL
- Aurora PostgreSQL 11 ~ 14:使用可能な全てのバージョン
修復手順
1. RDSコンソールで、対象のクラスターの設定を変更します。
RDS コンソール画面で対象のクラスターを選択し、右上の「変更」ボタンをクリックして設定変更ページへ移動します。
2. IAM データベース認証を有効化します。
データベース認証項目で「パスワードとIAM データベース認証」で設定を変更し、右下の「続行」をクリックします。
続いて、変更をすぐ適用したい場合、変更のスケジュールの「すぐに適用」を選択します。
「DB クラスターの変更」ボタンをクリックして、設定変更を行います。
変更内容が適用されるまでは時間がかなりますのでお待ちください。
3. 変更事項を確認
対象のクラスターの詳細ページへアクセスします。
「設定」→ 「IAM DB 認証」項目が有効になっているなら成功です。
参考
最後に
今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。
コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!
最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。
以上、ヌヌでした!